package com.yytek.tddb.service;

import com.yytek.tddb.api.domain.FieldsVo;
import com.yytek.tddb.api.domain.SelectDto;
import com.yytek.tddb.api.domain.TableDto;

import java.util.List;
import java.util.Map;

/**
 * TdEngine业务层
 */
public interface TdEngineService {
    void createDateBase(String dataBaseName);

    void createSuperTable(List<FieldsVo> schemaFields, List<FieldsVo> tagsFields, String dataBaseName, String superTableName);

    void createTable(TableDto tableDto);

    void insertData(TableDto tableDto);

    List<Map<String, Object>> selectByTimesTamp(SelectDto selectDto);

    void addColumnForSuperTable(String superTableName, FieldsVo fieldsVo);

    Long getCountByTimesTamp(SelectDto selectDto);

    void initSTableFrame(String msg) throws Exception;

    void deleteTb(String tableName);

    void insertListData(List<TableDto> tableDtoList);

    List<Map<String, Object>> getDataLastOne(SelectDto selectDto);
}
